Imports System.Data.SqlClient
Imports System.Data
Imports System.IO
'Imports Microsoft.Office.Interop
'Imports Microsoft.Office.Interop.Excel
Imports Word
Imports Excel

Public Class Bedrijven_Overall

    Dim objdataset As New DataSet

    Private mobjBindingsource As New BindingSource

    Private Sub DataGridViewVerversen()
        Dim strconnectionString As String = My.Settings.Docregdata2ConnectionString

        Dim strSql As String = "SELECT BedrijvenID, Bedrijfsnaam, Plaats, Adres, [Postcode 1], Postbus, [Postcode 2], Telefoon, Fax from Bedrijven ORDER BY Bedrijfsnaam"
        strSql.ToString()

        Dim objdataAdapter As New SqlDataAdapter(strSql, strconnectionString)

        objdataAdapter.Fill(objdataset, "Bedrijventabel")

        'koppel data aan Datagridview
        mobjBindingsource.DataSource = objdataset.Tables("Bedrijventabel")
        DgrBedrijven.DataSource = mobjBindingsource
        DgrBedrijven.Columns("BedrijvenID").Visible = False

    End Sub

    Private Sub Hoofdmenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load

        DataGridViewVerversen()

    End Sub

    Private Sub BtnEerste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEerste.Click
        mobjBindingsource.MoveFirst()

    End Sub

    Private Sub Btnvorige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnvorige.Click
        mobjBindingsource.MovePrevious()

    End Sub

    Private Sub BtnVolgende_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVolgende.Click
        mobjBindingsource.MoveNext()

    End Sub

    Private Sub BtnLaatste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLaatste.Click
        mobjBindingsource.MoveLast()

    End Sub

    Private Sub BtnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNieuw.Click

        FrmBedrijf.SchermTonen(0)

        If FrmBedrijf.DialogResult = System.Windows.Forms.DialogResult.OK Then
            DataGridViewVerversen()
        End If

    End Sub

    Private Sub BtnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnWijzigen.Click
        If Not IsNothing(DgrBedrijven.CurrentRow) Then
            FrmBedrijf.SchermTonen(DgrBedrijven.CurrentRow.Cells("BedrijvenID").Value)

            If FrmBedrijf.DialogResult = System.Windows.Forms.DialogResult.OK Then
                DataGridViewVerversen()

            End If
        End If
    End Sub

    Private Sub Bedrijfverwijderen()

        Dim objcommand As New SqlCommand()
        Dim intBedrijvenID As Integer
        Dim strBoodschap As String

        If Not IsNothing(DgrBedrijven.CurrentRow) Then
            intBedrijvenID = DgrBedrijven.CurrentRow.Cells("BedrijvenID").Value
            strBoodschap = "Weet U zeker dat u deze klant " & "wilt verwijderen?"

            With objcommand
                .Connection = New SqlConnection(My.Settings.Docregdata2ConnectionString)
                .CommandText = "DELETE FROM Bedrijven " & "Where BedrijvenID= " & intBedrijvenID
                .Connection.Open()
                .ExecuteNonQuery()
            End With

            objdataset.Clear()
            DataGridViewVerversen()

        End If
    End Sub

    Private Sub BtnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVerwijderen.Click

        Bedrijfverwijderen()

    End Sub


    Private Sub BtnContacten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnContacten.Click
        Me.Visible = False
        My.Forms.FrmContacten.Show()

    End Sub

    Private Sub BtnHoofdmenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHoofdmenu.Click
        Me.Visible = False
        My.Forms.FrmHoofdmenu.Visible = True

    End Sub

    Private Sub BtnZoek_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnZoek.Click

        Dim bedr As String = Me.TxtZoek.Text

        Dim dvBedrijven As New DataView
        dvBedrijven.Table = objdataset.Tables(0)

        DgrBedrijven.AutoGenerateColumns = True
        DgrBedrijven.DataSource = dvBedrijven
        dvBedrijven.RowFilter = "Bedrijfsnaam LIKE '%" & bedr & "%'"


    End Sub

    Private Sub BtnPrintBedrijven_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrintBedrijven.Click

        Dim xlApp As Excel.Application
        Dim xlWorkBook As Excel.Workbook
        Dim xlWorkSheet As Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value
        Dim i As Integer
        Dim j As Integer

        xlApp = New Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add()
        xlWorkSheet = xlWorkBook.Sheets("Blad1")

        'Invoegen van Werknummer en omschrijving
        xlWorkSheet.Range("A1:H1").Font.Bold = True
        xlWorkSheet.Range("A1").Value = "Bedrijfsnaam"
        xlWorkSheet.Range("B1").Value = "Plaats"
        xlWorkSheet.Range("C1").Value = "Adres"
        xlWorkSheet.Range("D1").Value = "Postcode1"
        xlWorkSheet.Range("E1").Value = "Postbus"
        xlWorkSheet.Range("F1").Value = "Postcode2"
        xlWorkSheet.Range("G1").Value = "Telefoon"
        xlWorkSheet.Range("H1").Value = "Fax"

        'Invoegen van tekeningen in excel
        'Als bedrijfsnaam voor hetzelfde is als voorgaande dan bedrijfsnaam weglaten
        For i = 0 To DgrBedrijven.RowCount - 2
            For j = 0 To DgrBedrijven.ColumnCount - 1
                xlWorkSheet.Cells(i + 2, j + 1) = _
                    DgrBedrijven(j, i).Value.ToString()
            Next
        Next

        'autosize used columns
        xlWorkSheet.UsedRange.Columns.AutoFit()

        Dim datum As String = My.Computer.Clock.LocalTime.Date
        Dim tijd As String = My.Computer.Clock.LocalTime.Hour & " " & My.Computer.Clock.LocalTime.Minute
        Dim Directory As String = My.Forms.FrmInlogscherm.txtProjectdir.Text & "\Bedrijvenlijst\"
        Dim Naam As String = "Bedrijvenlijst" & " " & datum & " " & tijd & ".xls"

        If System.IO.Directory.Exists(Directory) Then
            xlWorkSheet.SaveAs(Directory & Naam) ', FileFormat:=56) '=excel 97-2003
        Else
            System.IO.Directory.CreateDirectory(Directory)
            xlWorkSheet.SaveAs(Directory & Naam) ', FileFormat:=56) '=excel 97-2003
        End If

        xlApp.Visible = True
        xlWorkSheet.Activate()

    End Sub

    Private Sub BtnOpslaannaarWerk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpslaannaarWerk.Click

        'geselecteerde bedrijven opslaan naar bedrijven-overzicht ingelogd werk
        Dim alBedr As New ArrayList
        For x As Integer = 0 To DgrBedrijven.RowCount - 1
            If DgrBedrijven.Rows(x).Cells(0).Value = True Then
                alBedr.Add(DgrBedrijven.Rows(x).Cells(1).Value.ToString)
            End If
        Next

        Dim werknummer As String = My.Forms.FrmInlogscherm.CmbWerknummer.SelectedValue
        Dim cn As New SqlConnection(My.Settings.Docregdata2ConnectionString.ToString)
        Dim cmd As New SqlCommand
        cmd.CommandType = CommandType.Text
        cmd.Connection = cn
        cn.Open()
        For x As Integer = 0 To alBedr.Count - 1
            cmd.CommandText = "INSERT INTO Bedrijven_werken (Werknummer, BedrijvenID) VALUES ('" & werknummer & "', '" & alBedr(x) & "')"
            cmd.ExecuteNonQuery()
        Next
        cn.Close()

        'updaten van tabel 'bedrijven_werken' algemeen (fillbybedrijven_werken)
        Bedrijven_werkenTableAdapter1.Update(DocRegData2DataSet.Bedrijven_werken)
        Bedrijven_werkenTableAdapter1.Fill(DocRegData2DataSet.Bedrijven_werken)

        'updaten van tabel 'Bedrijven_werken' in form bedrijven
        My.Forms.Bedrijven.objdataset.Clear()
        My.Forms.Bedrijven.DataGridViewVerversen()

        'updaten combobox frmVerzendbrief
        My.Forms.FrmVerzendbrief.BedrijvenTableAdapter.Update(DocRegData2DataSet.Bedrijven)
        My.Forms.FrmVerzendbrief.BedrijvenTableAdapter.FillByBedrijven_werken(DocRegData2DataSet.Bedrijven, werknummer)
        My.Forms.FrmVerzendbrief.BedrijvenBindingSource.DataSource = DocRegData2DataSet.Bedrijven

        'updaten combobox frmnieuwetekening
        My.Forms.FrmNieuweTekening.load_new_rows_and_update_comboboxes()

        'updaten combobox frmVerzondenTekeningen2
        My.Forms.VerzondenTekeningen2.load_new_rows_and_update_comboboxes()

        'updaten combobox frmBinnenkomst
        My.Forms.frmBinnenkomst.load_new_rows_and_update_comboboxes()

        'updaten combobox frmWijzigen
        My.Forms.frmWijzigenTekeningen.load_new_rows_and_update_comboboxes()

    End Sub

End Class
